Promotional philosophy for a video-on-demand-related interactive display within an interactive television application

ABSTRACT

Systems and methods for providing an interactive display having indicators of video-on-demand programs are described. The systems and methods select indicators for inclusion in the interactive display according to a promotional selection algorithm.

This application claims the benefit of U.S. provisional patent application No. 60/141,575 filed Jun. 29, 1999.

BACKGROUND OF THE INVENTION

This invention relates to television application systems, and more particularly, to interactive television application systems such as interactive television program guide systems that provide indicators of video-on-demand offerings.

Interactive television program guides are typically implemented on set-top boxes connected to televisions. Such program guides may be used to present screens of interactive television program listings to users. Video-on-demand systems allow users to order videos for immediate delivery to the home over a cable or other suitable path.

It is an object of the present invention to provide an interactive display indicators for video-on-demand offerings using a promotional selection algorithm such as a promotional philosophy.

SUMMARY OF THE INVENTION

This and other objects of the present invention are accomplished in accordance with the principles of the present invention by providing an interactive display of indicators, such as promotions or listings, for video-on-demand offerings to a user based on a promotional selection algorithm as described, for example, in McCoy et al. provisional patent application Ser. No. 60/141,575, filed Jun. 29, 1999, which is hereby incorporated by reference herein in its entirety. The promotional selection algorithm according to which promotions or listings are displayed may be based on, for example, a promotional philosophy. If desired, the indicators may be presented in a passive display within an otherwise interactive application.

Generally, promotional philosophies are promotional event selection algorithms. A particular promotional philosophy may be designed to attempt to maximize returns from content such as promotions or advertisements by positioning certain types of promotions and advertisements at particular times of the day to reach certain types of television viewers. Promotional material distribution systems in which promotional philosophies are used to distribute promotions are described, for example, in Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety. Systems in which users are “targeted” for specific advertisements are described, for example, in Reynolds et al. U.S. patent application Ser. No. 09/217,100, filed Dec. 16, 1998, which is hereby incorporated by reference herein in its entirety.

An interactive application presents an interactive display containing indicators of video-on-demand offerings (e.g., on demand movies, television programs, video clips, or any other suitable type of programming). The interactive application may be any suitable application, such as interactive television program guide, web browser, or other application. The offerings are displayed according to a particular promotional selection algorithm designed to have indicators presented so as to attempt to maximize, for example, the return on or the viewer rate of video-on-demand programs. Promotional selection algorithms may also be designed to have indicators selected so that any other suitable paradigm for the display of indicators is met. For example, it may be undesirable to have certain programs indicated at a certain time of day (e.g., adult programs), or it may be desirable to have some programs indicated more often based on upcoming holidays or events.

The display may include, for example, a series of buttons or other selectable on-screen display elements that contain listings for video-on-demand programs. The interactive display may include, for example, a browse display that provides a user with an opportunity to browse video-on-demand program listings while watching a television program. The interactive display may include, for example, a screening room within which users may view trailers or clips of video-on-demand offerings. Systems in which video-on-demand listings are displayed in a browse display are described, for example, in Ellis U.S. patent application Ser. No. 09/262,870, filed Mar. 4, 1999, which is hereby incorporated by reference herein in its entirety. Any other suitable approach for the display indicators of video-on-demand offerings.

The interactive application may obtain application data and data that define the promotional selection algorithm using any suitable approach. The application may, for example, obtain data continuously, periodically, on-demand or using any other suitable approach. The interactive application may also receive templates that define a desired promotional selection algorithm such as a promotional philosophy.

The promotional philosophy may be designed to include promotions or programs in the interactive application based on and suitable criteria. The promotional philosophy may be based on, for example, the availability of a video-on-demand offering or the availability a promotion for such an offering (e.g., when sent by satellite via Moving Picture Experts Group (MPEG), or a videodisc in a player). The promotional philosophy may be defined to cause the selection of promotions or programs based on, for example, conditional play attributes. For example, a listing or promotion (or group of listings or promotions) may be designated for inclusion in the interactive display only on Fridays if the weather is cold outside and the local system has HBO in its channel line up. The display characteristics of a promotion or program listing may also be determined according to the promotional philosophy. For example, a promotion or program listing may be displayed first in an interactive display before other types of program listings or promotions for programs (e.g., sitcoms). If desired, the application may monitor user actions to determine if a given promotional philosophy results in desirable video-on-demand program selection.

The indicators of video-on-demand offerings and corresponding promotional philosophies may be based on, for example, what data the interactive application requests, detectable environmental situations, or what is provided by the video-on-demand system. Some examples of environmentally detectable situations include: the specific clip played in relation to a title selected by a user, the channel line up provided to the user, the weather, local channels, promotional media available, and specific customer behaviors or profiles (e.g., whether the user subscribes to adult or children's programming). In these examples, the promotional philosophies may be designed using alternates, playability levels, and keywords as described, for example in above-mentioned Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999.

User selections of indicators or other user activity may be analyzed to determine whether the promotional philosophy of the interactive display facilitates a desirable result (e.g., purchases of particular video-on-demand programming), or whether the promotional philosophy needs to be modified. Interactive program guide systems in which user usage of advertisements is monitored are described, for example, in Thomas et al. U.S. patent application Ser. No. 09/139,798, filed Aug. 25, 1998, which is hereby incorporate by reference herein in its entirety. The interactive display may be updated to display only the promotions or programs that a user is most interested in viewing, or that the video-on-demand system or interactive application provider desires to present to the user (which may be based on, for example, particular environmental situations and user demographics).

The interactive display may be based on templates that are modified for each user based on, for example, the individual user's profile, the hardware on which the interactive display is displayed (e.g., the configuration of the user's set-top box), or other user specific information. Thus, the interactive display may look different for each user, but is derived from

the same basic template that has been provided according to the chosen selection algorithm, such as a promotional philosophy algorithm. The user's profile may include, for example information suitable to select indicators in a way that personalizes the interactive display to the user in accordance with the selection algorithm. For example, a playability level may include user preferences. User preferences may be generated or obtained using any suitable scheme for monitoring user behavior and targeting the user with indicators for appropriate content. In another suitable approach, the user may define a preference profile that is used for indicator selection.

In another suitable approach, the system may maintain a record that includes environmentally detectable situations and specifics of resulting interactive display. This may be combined with the actual behavior of the user to form a log that is available to a master processing system. The record may be maintained on a disc drive in the system and may be available to the master processing system via suitable transmission media. The system may analyze this record and may correct the promotional philosophy. The system may, for example, modify the promotional philosophy based on desirable or undesirable results from a recorded log. Systems in which promotional philosophy algorithms are automatically updated are described, for example, in Lumley et al. U.S. patent application Ser. No. 09/227,401, filed Jan. 8, 1999, which is hereby incorporated by reference herein in its entirety.

Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of a system in accordance with the present invention;

FIGS. 2 a-2 e are schematic block diagrams of illustrative arrangements for the interactive application equipment of FIG. 1 in accordance with the present invention;

FIG. 3 is a schematic block diagram of the user television equipment of FIGS. 2 a-2 d in accordance with the present invention;

FIG. 4 is a more generalized schematic block diagram of the user television equipment of FIG. 4 in accordance with the present invention;

FIG. 5 is an illustrative dataflow diagram for analyzing a selection log to determine if indicators are being selected optimally in accordance with the present invention;

FIGS. 6-9 are illustrative interactive displays in accordance with the present invention; and

FIGS. 10 and 11 are flow charts of illustrative steps involved in providing indicators of video-on-demand programming in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An illustrative system 10 in accordance with the principles of the present invention is shown in FIG. 1. Main facility 12 may provide application data, such as program guide data, from data source 14 to interactive application equipment 17 via communications link 18. There may be multiple data sources but only one has been shown to avoid over complicating the drawing. If desired, data sources may be located at facilities separate from main facility 12, such as at local information services 15, and may have their data provided to main facility 12 for localization and distribution. Data sources 14 may be any suitable computer or computer based system for obtaining data (e.g., manually from an operator, electronically via a computer network or other connection, or via storage media) and providing the data in electronic form for distribution by main facility 12. Data sources 14 may also receive promotional material for distribution to interactive application equipment 17. Link 18 may be a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a combination of such links, or any other suitable communications link. Video signals may also be transmitted over link 18 if desired.

Local information service 15 may be any facility suitable for obtaining data particular to a localized region and providing the data to main facility 12 over communications link 141. Local information service 15 may be, for example, a local weather station that measures weather data, a local newspaper that obtains local high school and college sporting information, or any other suitable provider of information. Local information service 15 may be a local business with a computer for providing main facility 12 with, for example, local ski reports, fishing conditions, menus, etc., or any other suitable provider of information. Link 141 may be a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a combination of such links, or any other suitable communications link.

Local information service 15 may include environmental detector 41. Environmental detector 41 may be equipment suitable for detecting local environmental conditions and providing them to main facility 12 for inclusion in the application data. For example, the local temperature may be supplied by local information service 15 as part of local weather data. Environmental detector 41 may, for example, have a digital thermometer connected to the input-output port of a suitable computer and provide detectable environmental situation information (e.g., temperature data) to a communications device for transmission to main facility 12. Environmental detector 41 may be any other device suitable for detecting environmental situations, such as a barometer, windspeed measuring device, or other suitable device, that is capable of supplying detectable environmental information to main facility 12.

The application data transmitted by main facility 12 to interactive application equipment 17 may include any data suitable for the chosen interactive application. For an interactive program guide, for example, the application data may include television programming data (e.g., program identifiers, times, channels, titles, and descriptions) and other data for services other than television program listings (e.g., help text, pay-per-view information, weather information, sports information, music channel information, associated Internet web links, associated software, etc.). There are preferably numerous pieces or installations of interactive application equipment 17, although only one is shown in FIG. 1 to avoid over-complicating the drawing. The application data may also include data defining the rules of the promotional selection algorithm, such as, for example, promotional philosophy templates. Promotional philosophy templates are described, for example, in above-mentioned Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999. If desired, promotional material for video-on-demand offerings may also be provided by main facility 12 using, for example, a store-and-forward approach as described in the same application. The promotional material may include any suitable text, graphics, animation, video, audio, or other multimedia.

Application data may be transmitted by main facility 12 to interactive application equipment 17 using any suitable approach. Data files may, for example, be encapsulated as objects and transmitted using a suitable Internet based addressing scheme and protocol stack (e.g., a stack which uses the user datagram protocol (UDP) and Internet protocol (IP)). Systems in which program guide data is transmitted from a main facility to television distribution facilities as objects are described, for example, in Gollahon et al. U.S. patent application Ser. No. 09/332,624, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety.

Main facility 12 may include log analyzer 31. Log analyzer 31 may include any suitable storage, processing, and communications circuitry or devices for monitoring the indicator selection process or other processes carried out by interactive application equipment 17. Interactive application equipment 17 may provide a selection log to main facility 12. The selection log may list the actual indications (e.g., promotions, listings, etc.) that are included by the interactive application within the interactive display. Logging the indicators that are actually displayed may be useful when, for example, indicators are selected for display but are unavailable during screen generation. This may occur when, for example, indicators are received corrupted such as when link 18 is very noisy. In another suitable approach, the selection log may log what is selected, or a combination of these approaches may be used. Log analyzer 31 may also monitor changes to the selection log over communications link 18 or another communications link to observe the selecting of indicators at about the same time they are selected. The selection log may be used by log analyzer 31 to modify the promotional philosophy used by interactive application equipment 17 in order to maximize the probability of achieving the desired results for the system, or to test how changes to a promotional philosophy might affect indicator selection.

Interactive application equipment 17 may include indicator selector 44, log system 43, and environmental detector 41. Indicator selector 44 may be any combination of hardware and software suitable for generating a playlist, set, database, or other data structure that either indicates or includes indicators of video-on-demand selections for presentation in the interactive display according to the chosen selection algorithm. The indicator list may be, for example, a playlist of video-on-demand promotions chosen according to a promotional philosophy as described, for example, in above-mentioned Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999. The indicator list may be, for example, a set, database or other data structure of program listings for video-on-demand program listings that are incorporated into the interactive display. In still another suitable approach, the indicator list may be generated in real time; that is, indicator selector 44 may select indicators for presentation and immediately display them without first creating a list. Indicator selector 44 may be, for example, a process running on a computer acting as an application server, a process running on a set-top box, or any other suitable combination of hardware and software.

Log generator 43 may be any combination of hardware and software suitable for generating a list or other data structure of the indicators that are actually presented by the interactive application in the interactive display. Log generator may be for example, a process running on a computer acting as an application server, a process running on a set-top box, or any other suitable combination of hardware and software.

Indicator selector 44 may use data regarding local environmental conditions when determining if a particular indicator meets a particular selection algorithm. For example, whether a particular video-on-demand offering is promoted or included in a list of listings may depend on the local temperature. The local temperature may be supplied by main facility 12 as part of local weather data contained in the data stream, or may be supplied by a local operator or device responsible for supplying local environmental information, such as environmental detector 41. Environmental detector 41 may, for example, have a digital thermometer connected to the input-output port of a suitable computer and provide detectable environmental situation information (e.g., temperature data) to indicator selector 44. Environmental detector 41 may be any other device suitable for detecting environmental situations, such as a barometer, windspeed measuring device, or other suitable device, that is capable of supplying detectable environmental situation information to indicator selector 44 for use in detecting if an environmentally detectable situation parameter has been met.

Indicator selector 44 may use user preference profiles to personalize the interactive display to a particular used. The profiles may be modified for each user based on, for example, the individual user's profile, the hardware on which the interactive display is displayed (e.g., the configuration of the user's set-top box), or other user specific information. Thus, the interactive display may look different for each user, but is derived from the same basic template that has been provided according to the chosen selection algorithm, such as a promotional philosophy algorithm. The user's profile may include, for example information suitable to select indicators in a way that personalizes the interactive display to the user in accordance with the selection algorithm. For example, a playability level may include user preferences. User preferences may be generated or obtained using any suitable scheme for monitoring user behavior and targeting the user with indicators for appropriate content. In another suitable approach, the user may define a preference profile that is used for indicator selection.

An interactive application is implemented on interactive application equipment 17. The interactive application may be any application suitable for providing users with the interactive display. The application may be, for example, an interactive television program guide, search engine, or any other suitable application. For purposes of clarity and not by way of limitation, the following discussion will describe the invention implemented as an illustrative interactive television program guide implemented on interactive application equipment 17. Five illustrative arrangements for interactive application equipment 17 are shown in FIGS. 2 a-2 e. As shown, interactive application equipment 17 may include one or more of distribution equipment 21, located at distribution facility 16, and user television equipment 22 or personal computer 23.

To avoid over-complicating FIGS. 2 a-2 e, indicator selector 44, environmental detector 41, and log generator 43 have been shown generally in FIG. 1 and are not shown in FIGS. 2 a-2 e. Indicator selector 44, environmental detector 41, and log generator 43 may be included in distribution facility 16 if desired as one or more separate systems, or one or more of their functionalities may be incorporated into any suitable component shown in FIGS. 2 a-2 e. For example, the functionalities of one or more of indicator list generator 44, environmental detector 41, or log generator 43 may reside in or be integrated with distribution equipment 21, application guide server 25, Internet service system 61, application server 25, or user television equipment 22. When incorporated into user television equipment 22, user television equipment 22 may be configured to communicate information, such as environmental conditions or indicator logs, back to distribution facility 16 or main facility 12.

The interactive television program guide (or other interactive application) may run totally on user television equipment 22 as shown in FIGS. 2 a and 2 c, or may run partially on user television equipment 22 and partially on interactive application equipment 17 using a suitable client-server or distributed processing approach as shown in FIGS. 2 b and 2 d. Distribution facility 16 may be any suitable distribution facility (e.g., a cable system headend, a broadcast distribution facility, a satellite television distribution facility, an Internet site, or any other suitable type of television distribution facility). Distribution facility 16 may have distribution equipment 21.

Distribution equipment 21 of FIGS. 2 a, 2 b, 2 c, and 2 d may be any equipment suitable for providing application data to user television equipment 22 over communications path 20. Distribution equipment 21 may include, for example, suitable transmission hardware for distributing application data on a television channel sideband, in the vertical blanking interval of a television channel, using an in-band digital signal (e.g., MPEG tables), using an out-of-band digital signal, using Internet streaming techniques or by any other suitable data transmission technique. Analog or digital video signals (e.g., television programs, pay-per-view programs, video-on-demand programs, etc.) may also be distributed by distribution equipment 21 to user television equipment 22 over communications paths 20 on multiple television channels.

Communications paths 20 may be any communications paths suitable for distributing application data and, if desired, video signals. Communications paths 20 may include, for example, a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a data-over-cable service interface specification (DOCSIS) link, a digital subscriber line (DSC) link, a combination of such links, or any other suitable communications link. Communications paths 20 preferably have sufficient bandwidth to allow distribution facility 16 to distribute television programming to user television equipment 22. There are typically multiple pieces of user television equipment 22 and multiple associated communications paths 20, although only one piece of user television equipment 22 and communications path 20 are shown in FIGS. 2 a-2 d to avoid over complicating the drawings. If desired, television programming may be provided over separate communications paths (not shown).

FIG. 2 b shows an illustrative arrangement for interactive application equipment 17 in a client-server based or distributed interactive program guide system. As shown in FIG. 2 b, distribution equipment 21 may include application server 25. Application server 25 may be any suitable software, hardware, or combination thereof for providing a client-server based application such as a program guide. Application server 25 may, for example, run a suitable database engine (e.g., SQL Server by Microsoft) and provide program guide data in response to queries generated by a program guide client implemented on user television equipment 22. If desired, application server 25 may be located at main facility 12 (not shown).

Application server 25 may be based on any suitable combination of server software and hardware. Application server 25 may retrieve application data such as program guide data, promotion files, or any suitable combination thereof from storage device 56 in response to requests for program guide or promotional material generated by an interactive application client implemented on user television equipment 22. As shown in FIGS. 2 a and 2 b, application server 25 may include processing circuitry 54 and storage device 56. Processing circuitry 54 may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuitry such as caching circuitry, video decoding circuitry, direct memory access (DMA) circuitry, input/output (I/O) circuitry, etc.

Storage device 56 may be a memory or other storage device, such as random access memory (RAM), flash memory, a hard disk drive, etc., that is suitable for storing application data and, if desired, promotional material. User data, such as user preference profiles (whether generated by the system or defined by the user), parental control settings, record and reminder settings, viewing histories, the configuration of the user's equipment and other suitable data may also be stored on storage device 56 by application server 25. Program guide data and user data may be stored on storage device 56 in any suitable format (e.g., a Structured Query Language (SQL) database). User data may be used by indicator list generator 44 to select indicators for the interactive display. If desired, storage device 56 may also store video-on-demand programs for playing back on demand.

Processing circuitry 54 may process requests for application data by searching the application data stored on storage device 56 for the requested data, retrieving the data, and providing the retrieved data to distribution equipment 21 for distribution to user television equipment 22. Processing circuitry 54 may also process storage requests generated by the application client that direct application server 25 to store user data. Alternatively, application server 25 may distribute application data to and receive user data from user television equipment 22 directly. If communications paths 20 include an Internet link, DOCSIS link, or other high speed computer network link (e.g., 10BaseT, 100BaseT, 10BaseF, T1, T3, etc.), for example, processing circuitry 54 may include circuitry suitable for transmitting application and user data and receiving application data and storage requests over such a link.

Application server 25 may communicate with user television equipment 22 using any suitable communications protocol. For example, application server 25 may use a communications protocol stack that includes transmission control protocol (TCP) and Internet protocol (IP) layers, sequenced packet exchange (SPX) and internetwork packet exchange (IPX) layers, Appletalk transaction protocol (ATP) and datagram delivery protocol (DDP) layers, DOCSIS, or any other suitable protocol or combination of protocols. User television equipment 22 may also include suitable hardware for communicating with application server 25 over communications paths 20 (e.g., Ethernet cards, modems (digital, analog, or cable), etc.)

The program guide client on user television equipment 22 may retrieve program guide data from and store user data on application server 25 using any suitable client-server based approach. The program guide may, for example, pass SQL requests as messages to application server 25. In another suitable approach, the program guide may invoke remote procedures that reside on application server 25 using one or more remote procedure calls. Application server 25 may execute SQL statements for such invoked remote procedures. In still another suitable approach, client objects executed by the program guide may communicate with server objects executed by application server 25 using, for example, an object request broker (ORB). This may involve using, for example, Microsoft's Distributed Component Object Model (DCOM) approach. As used herein, “record requests” and “storage requests” are intended to encompass any of these types of inter-process or inter-object communications, or any other suitable type of inter-process or inter-object communication.

FIGS. 2 c and 2 d show illustrative Internet-based systems. Distribution facility 16 may, for example, include Internet service system 61. Internet service system 61 may use any suitable combination of hardware and software capable of providing program guide data to the guide using an Internet based approach (e.g., the HyperText Transfer Protocol (HTTP)).

If the program guide is implemented on user television equipment 22 of interactive application equipment 17 as shown in FIG. 2 c, Internet service system 61 (or other suitable equipment at distribution facility 16 that is connected to Internet service system 61) may provide program guide data to user television equipment 22 via the Internet, or via application distribution equipment 21 using any suitable Internet-based approach (e.g., using the HyperText Transfer Protocol (HTTP) or File Transfer Protocol (FTP) over a Transmission Control Protocol/Internet Protocol (TCP/IP) type link). If the program guide implemented on interactive application equipment 17 is a client-server guide as shown in FIG. 2 d, for example, application server 25 may obtain program guide data from Internet service system 61. In another suitable approach, the program guide may obtain program guide data from Internet service system 61 via an Internet connection.

In still another embodiment, distribution equipment 21 may include suitable hardware (not shown) on which a first portion or version of the interactive television program guide is implemented. A second portion or version of the program guide may be implemented on user television equipment 22. The two versions or portions of the interactive program guide may communicate using any suitable peer-to-peer communications scheme (e.g., messaging, remote procedure calls, etc.) and perform interactive program guide functions distributively between television distribution facility 16 and user television equipment 22.

Another suitable arrangement for interactive application equipment 17 is shown in FIG. 2 e. Interactive application equipment 17 may include, for example, distribution facility 16 having application server 25 and Internet service system 61. A program guide client application (or other client application) may run on personal computer 23. The client may access application server 25 via Internet service system 61 and communications path 20. Personal computer 23 may include processing circuitry 27, memory 29, storage device 31, communications device 35, and monitor 39.

Processing circuitry 27 may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuitry such as caching circuitry, direct memory access (DMA) circuitry, input/output (I/O) circuitry, etc. Processing circuitry 27 may also include suitable circuitry for displaying television programming. Personal computer 23 may include, for example, a PC/TV card. Memory 29 may be any suitable memory, such as random access memory (RAM) or read only memory (ROM), that is suitable for storing the computer instructions and data. Storage device 31 may be any suitable storage device, such as a hard disk, floppy disk drive, flash RAM card, recordable CD-ROM drive, or any other suitable storage device. Communications device 35 may be any suitable communications device, such as a conventional analog modem or cable modem.

An illustrative arrangement for user television equipment 22 of FIGS. 2 a-2 d is shown in FIG. 3. User television equipment 22 of FIG. 3 receives video or a digital video stream and data from distribution facility 16 (FIG. 1) at input 26. During normal television viewing, a user tunes set-top box 28 to a desired television channel. The signal for that television channel is then provided at video output 30. The signal supplied at output 30 is typically either a radio-frequency (RF) signal on a predefined channel (e.g., channel 3 or 4), or a analog demodulated video signal, but may also be a digital signal provided to television 36 on an appropriate digital bus (e.g., a bus using the Institute of Electrical and Electronics Engineers (IEEE) 1394 standard, (not shown)). The video signal at output 30 is received by optional secondary storage device 32.

The interactive television program guide (or other application) may run on set-top box 28, on television 36 (if television 36 has suitable processing circuitry and memory), on a suitable analog or digital receiver connected to television 36, or on digital storage device 31 if digital storage device 31 has suitable processing circuitry and memory. The interactive television program guide may also run cooperatively on a suitable combination of these devices. Interactive television program guide systems in which a cooperative interactive television program guide runs on multiple devices are described, for example, in Ellis U.S. patent application Ser. No. 09/186,598, filed Nov. 5, 1998, which is hereby incorporated by reference herein in its entirety.

Secondary storage device 32 can be any suitable type of analog or digital program storage device or player (e.g., a videocassette recorder, a digital versatile disc (DVD) player, etc.). Program recording and other features may be controlled by set-top box 28 using control path 34. If secondary storage device 32 is a videocassette recorder, for example, a typical control path 34 involves the use of an infrared transmitter coupled to the infrared receiver in the videocassette recorder that normally accepts commands from a remote control such as remote control 40. Remote control 40 may be used to control set-top box 28, secondary storage device 32, and television 36.

If desired, a user may record programs, program guide data, or a combination thereof in digital form on optional digital storage device 31. Digital storage device 31 may be a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device. Interactive television program guide systems that have digital storage devices are described, for example, in Hassell et al. U.S. patent application Ser. No. 09/157,256, filed Sep. 17, 1998, which is hereby incorporated by reference herein in its entirety.

Digital storage device 31 can be contained in set-top box 28 or it can be an external device connected to set-top box 28 via an output port and appropriate interface. If necessary, processing circuitry in set-top box 28 formats the received video, audio and data signals into a digital file format. Preferably, the file format is an open file format such as the Moving Picture Experts Group (MPEG) MPEG-2 standard or the Moving Joint Photographic Experts Group (MJPEG) standard. The resulting data is streamed to digital storage device 31 via an appropriate bus (e.g., a bus using the Institute Electrical and Electronics Engineers (IEEE) 1394 standard), and is stored on digital storage device 31. In another suitable approach, an MPEG-2 data stream or series of files may be received from distribution equipment 21 and stored.

Television 36 receives video signals from secondary storage device 32 via communications path 38. The video signals on communications path 38 may either be generated by secondary storage device 32 when playing back a prerecorded storage medium (e.g., a videocassette or a recordable digital video disc), by digital storage device 31 when playing back a pre-recorded digital medium, may be passed through from set-top box 28, may be provided directly to television 36 from set-top box 28 if secondary storage device 32 is not included in user television equipment 22, or may be received directly by television 36. During normal television viewing, the video signals provided to television 36 correspond to the desired channel to which a user has tuned with set-top box 28. Video signals may also be provided to television 36 by set-top box 28 when set-top box 28 is used to play back information stored on digital storage device 31.

Set-top box 28 may have memory 44. Memory 44 may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing program guide instructions and program guide data for use by the program guide.

Set-top box 28 may have communications device 37 for communicating directly with application server 25 or Internet service system 61 over communications path 20. Communications device 37 may be a modem (e.g., any suitable analog or digital standard, cellular, or cable modem), network interface card (e.g., an Ethernet card, Token ring card, etc.), or other suitable communications device. Television 36 may also have such a suitable communications device if desired. In another suitable approach, user television equipment 22 may communicate with Internet service system 61 via distribution equipment 21 using a suitable return path.

A more generalized embodiment of user television equipment 22 of FIG. 3 is shown in FIG. 4. As shown in FIG. 4, program guide data from distribution facility 16 (FIG. 1) is received by control circuitry 42 of user television equipment 22. The functions of control circuitry 42 may be provided using the set-top box arrangement of FIGS. 2 a and 2 b. Alternatively, these functions may be integrated into an advanced television receiver, personal computer television (PC/TV), or any other suitable arrangement. If desired, a combination of such arrangements may be used.

User television equipment 22 may also have secondary storage device 47 and digital storage device 49 for recording programming. Secondary storage device 47 can be any suitable type of analog or digital program storage device (e.g., a videocassette recorder, a digital versatile disc (DVD), etc.). Program recording and other features may be controlled by control circuitry 42. Digital storage device 49 may be, for example, a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device.

User television equipment 22 may also have memory 63. Memory 63 may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing program guide instructions and program guide data for use by control circuitry 42.

User television equipment 22 of FIG. 4 may also have communications device 51 for supporting communications between the program guide (or other application) and distribution equipment 21 or Internet service system 61 via communications path 20. Communications device 51 may be a modem (e.g., any suitable analog or digital standard, cellular, or cable modem), network interface card (e.g., an Ethernet card, Token ring card, etc.), or other suitable communications device.

Main facility 12 of FIG. 1 may include log analyzer 31 as described above. Log analyzer 30 may make changes to a promotional selection algorithm if the algorithm does not provide for optimal selection of indicators of video-on-demand offerings. Updating promotional selection algorithms may be performed as described, for example, in above-mentioned Lumley et al. U.S. patent application Ser. No. 09/227,401, filed Jan. 9, 1999. FIG. 5 is an illustrative dataflow diagram for analyzing a selection log to determine if indicators are being selected optimally. Log analyzer 31 may, for example, be programmed with desirable occurrences database 400 and undesirable occurrences database 410. Desirable occurrences database 400 may include a number of rules that define desirable selections. Desirable occurrences database 400 may, for example, define as desirable having a large number of indicators for programs of a particular theme during a particular time slot, having certain indicators for programs in certain time slots for different time zones, having particular indicators sent to distribution facilities of a certain service configuration (e.g., providers of multiple video-on-demand channels as opposed to those with few), or any other suitable desirable occurrence.

Undesirable occurrences database 410 may include a number of rules that define undesirable selections. Undesirable occurrences database 410 may define as undesirable, for example, having the same indicator presented more than one time in a row or more than a number of times an hour, having indicators of a particular theme during a particular time slot (e.g., adult video-on-demand promotions at 3:00 p.m.), or any other undesirable occurrence.

Selection log analyzer engine 420 running on log analyzer 31 may compare the selection log 430 with desirable occurrences database 400 and undesirable occurrences database 410. Selection log analyzer engine 420 may be any suitable process or application capable of, for example, comparing selection log 430, desirable occurrences database 400, and undesirable occurrences database 410. Selection log analyzer engine 420 may make changes to the promotional selection algorithm to increase the likelihood of having desirable occurrences and to reduce the likelihood of having undesirable occurrences. The new promotional selection algorithm may be generated by selection log analyzer engine 420 and provided by data source 14 to interactive application equipment 17 for use by indicator selector 44 during indicator selection.

The selection log may also be used by main facility 12 to test planned changes for a promotional selection algorithm. Main facility 12 may have, for example, an indicator selector 44 and a log generator 43 to which indicators are supplied and selected according to a test promotional selection algorithm. The test promotional selection algorithm may, for example, be a modified version of the current algorithm used by indicator list generator 44 at the distribution facilities 16, or it may be a totally new algorithm. The test selection log may be analyzed by log analyzer 31, and the system may change the test promotional selection algorithm if indicators are not being presented optimally. This process may continue until the test promotional selection algorithm selects indicators as close to optimally as may be determined without running the promotional selection algorithm in the field.

The promotional selection algorithm already running on interactive application equipment 17 may be modified or may be replaced by the test promotional selection algorithm. Promotional selection algorithm testing may also be accomplished by running a test promotional selection algorithm on interactive application equipment 17 in addition to an already running promotional selection algorithm (e.g., as a separate process).

The interactive display generated by the program guide or other interactive application may include any suitable indicator of video-on-demand offerings and any other suitable content. Indicators of video-on-demand offerings may include, for example, promotions for video-on-demand offerings, program listings for video-on-demand offerings, or any other suitable indicator. The interactive display may include, for example, a browse display that provides a user with an opportunity to browse video-on-demand program listings while watching a television program. The interactive display may include, for example, a series of buttons or other selectable on-screen display elements that contain listings for video-on-demand program listings. In still another suitable approach, the interactive display may include a screening room that allows users to watch previews or clips of video-on-demand programs by selecting video-on-demand program listings. Indicators of video-on-demand offerings are included in the interactive display based on the promotional selection algorithm.

FIG. 6 shows illustrative “BROWSE” overlay 230 that the program guide may display when a user opts to browse through program listings for a given time slot while watching a program. A user may browse through program listings by, for example, using remote control arrow keys. The BROWSE overlay allows a user to continue to watch a program on a particular channel (e.g., channel 2) while browsing for information on programs that are playing on other channels and at other times.

The program guide may provide a user with an opportunity to change time slots and channels in order to browse through additional program listings for video-on-demand programs according to the selection algorithm. Indicator list generator 44 may, for example, select program listings for video-on-demand programs before listings for regular channels. A user may indicate a desire to browse through additional program listings by, for example, pressing “up”, “down”, “left”, and “right” arrows to access additional channels and time slots. After the user browses through listing for video-on-demand programs, the program guide may provide listings for non-video-on-demand programs.

Browse overlay 230 may also include selectable advertisements, such as selectable advertisements 221. Selectable advertisements 221 may, for example, include text, graphics, video, audio, animations, or other multimedia advertising the video-on-demand programs or other television programs, channels, or products. When a user selects a selectable advertisement 221, the program guide may display information (e.g., video-on-demand program information) or take other actions related to the content of the advertisement. Advertisements 221 may be included in browse overlay 230 according to the selection algorithm. If desired, different selection algorithms may be run for selecting indicators and for selecting promotions.

A main menu screen, such as illustrative main menu screen 100 of FIG. 7, may include menu 102 of selectable program guide features 106. If desired, program guide features 106 may be organized according to feature type. In menu 102, for example, program guide features 106 have been organized into three columns. The column labeled “TV GUIDE” is for listings related features, the column labeled “MSO SHOWCASE” is for multiple service organization (MSO) related features, and the column labeled “VIEWER SERVICES” is for viewer related features. The interactive television program guide may generate a display screen for a particular program guide feature when a user selects that feature from menu 102.

Main menu screen 100 may include one or more selectable advertisements 108. Selectable advertisements 108 may, for example, include text, graphics, video, audio, animations, or other multimedia advertising video-on-demand programs or other programs, channels, or products, based on the promotional selection algorithm. When a user selects a selectable advertisement 108, the program guide may display information (e.g., video-on-demand program information) or take other actions related to the content of the advertisement. Pure text advertisements may be presented, if desired, as illustrated by selectable advertisement banner 110. Advertisements 108 and 110 may be included in main menu screen 100 (or other screens) according to one or more promotional selection algorithms if desired.

Main menu screen 100 may also include other screen elements. The brand of the program guide product may be indicated, for example, using a product brand logo graphic such as product brand logo graphic 112. The identity of the television service provider may be presented, for example, using a service provider logo graphic such as service provider logo graphic 114. The logos may be included in the program guide data allowing for on-the-fly configurability of the display screens. The current time may be displayed in clock display region 116. In addition, a suitable indicator such as indicator graphic 118 may be used to indicate to a user that mail from a cable operator or program guide provider is waiting for a user if the program guide supports messaging functions.

The interactive television program guide may provide a user with an opportunity to view video-on-demand program listings. A user may indicate a desire to view video-on-demand program listings by, for example, positioning highlight region 120 over a desired program guide feature 106, such as “VOD Listings” feature 106. Alternatively, the program guide may present video-on-demand program listings when a user presses a suitable key (e.g., a “guide” key) on remote control 40. When a user indicates a desire to view video-on-demand program listings, the program guide generates an appropriate video-on-demand program listings screen for display on display device 45 (FIG. 4). A video-on-demand program listings screen may contain one or more groups or lists of video-on-demand program listings organized according to one or more organization criteria (e.g., by time, by program category, etc.).

The program guide may, for example, provide a user with an opportunity to view video-on-demand listings by time, according to a number of categories (e.g., movies, sports, children, etc.), or may allow a user to search for a listing by title. Video-on-demand program listings may be displayed using any suitable list, table, grid, or other suitable display arrangement. If desired, video-on-demand program listings screens may include selectable advertisements, product brand logo graphics, service provider brand graphics, clocks, or any other suitable indicator or graphic.

An illustrative video-on-demand by time program listings screen 130 is shown in FIG. 8. Program listings screen 130 of FIG. 8 may include highlight region 151, which highlights the current program listing 150. A user may position highlight region 151 by entering appropriate commands with user interface 46. For example, if user interface 46 has a keypad, a user can position highlight region 151 using “up” and “down” arrow keys on remote control 40. A user may select a listing by, for example, pressing on the “OK” or “info” key on remote control 40. Alternatively, a touch sensitive screen, trackball, voice recognition device, or other suitable device may be used to move highlight region 151 or to select program listings without the use of highlight region 151. In still another approach, a user may speak a television program listing into a voice request recognition system. These methods of selecting program listings are merely illustrative. Any other suitable approach for selecting program listings may be used if desired.

A user may view additional video-on-demand listings for the time slot indicated in timebar 111 by, for example, pressing an “up” or “down” arrow, or a “page up” or “page down” key on remote control 40. The user may also see listings for the next 24 hour period, or the last 24 hour period, by pressing a “day forward” or “day backward” key on remote control 40, respectively. If there are no listings starting exactly 24 hours in the indicated direction, the program guide may pick programs starting at either closer or further than 24 hours away. If desired, the program guide may require a user to scroll through advertisement banner 110. A user may view program listings for other time slots by, for example, pressing “right” and “left” arrows on remote control 40, or by scrolling up or down until listings for the next time slot are displayed. Timebar 111 may change its display to the previous or next time slot accordingly.

As shown in FIG. 7, the displayed indicators, in this example listings 150, are not displayed in channel or source order because the listings are displayed according to a promotional selection algorithm which may cause indicator selector 44 to select listings from video-on-demand channels or sources in a way that presents the most desirable indicators (e.g., the indicators that satisfy primary playability levels of a promotional philosophy) before other indicators. If desired, the sources for the indicators may be generated in real time, and listings 150 labeled accordingly, so that the user is not aware that the listings are presented out of order.

FIG. 9 shows another illustrative interactive display in which indicators of video-on-demand programming are displayed according to a promotional selection algorithm. Screening room 900 of FIG. 9 may provide users with an opportunity to preview one or more video-on-demand programs by, for example, selecting a listing 150. The listings 150 are selected for presentation by indicator selector 44 according to the promotional selection algorithm. In this example, the promotional philosophy may require that only movies starring Arnold Schwarzeneggar are available for previewing. Video window 910 may display a clip of a movie or a trailer associated with a movie when the user selects a listing 150. In another suitable approach, the display of video window 910 may be synchronized with the currently highlighted listings 150; that is, as the user navigates within listings 150, video window 810 may display a clip or preview associated with the currently highlighted listing.

FIGS. 10-11 are flowcharts of illustrative steps involved in providing indicators of video-on-demand programs according to a promotional selection algorithm in accordance with the principles of the present invention. The steps shown in FIGS. 10-12 are illustrative and may generally be performed in any suitable order. FIG. 10 is a flowchart of illustrative steps involved in operating the system of FIG. 1. Main facility 12 provides data on promotions for indicators to interactive application equipment 17 at step 1000. At step 1010, environmental situations, e.g., the weather, are detected and detectable environmental situation information is provided to indicator selector 44.

At step 1020, indicators are selected for display 1020 by indicator selector 44. Indicators are selected for display according to the promotional selection algorithm, such as a promotional philosophy. The selected indicators are presented in the interactive display at step 1030. The interactive display may be any suitable display such as, for example, a browse display, listings screen, screening room, or any other suitable interactive display.

Information on which indicators are selected or presented is stored by log generator 43 in a selection log at step 1040. At step 1050, the selection log may be provided to main facility 12 for analysis. The selection log may be provided to main facility 12 using any suitable transmission method (e.g., telephone dial-up, very small aperture transmission (VSAT), portable storage media, etc.). The selection log may be analyzed by log analyzer 31 to determine if indicators are being optimally selected or presented (step 1060). For example, the selection log may be compared with a desirable occurrences and an undesirable occurrences database. If desired, the promotional selection algorithm can be changed to increase the likelihood of desirable occurrences and to decrease the likelihood of undesirable occurrences (step 1070). At step 1080, the changed promotional selection algorithm may be provided to interactive application equipment 17.

FIG. 11 is a flowchart of illustrative steps involved in testing a promotional selection algorithm in accordance with the present invention. Testing of a promotional selection algorithm may be desirable when changes to the promotional selection algorithm are proposed and it is desirable to see how the new promotional selection algorithm will affect the selection of indicators for the interactive display. At step 1100, a promotional selection algorithm is tested using the selection log to determine if the system will select indicators optimally. This may be accomplished, for example, by comparing the selection log with a desirable occurrence database and an undesirable occurrences database. The testing may be performed at the main facility or other interested testing facility, or by monitoring a separate process running on interactive application equipment 17. System testing information (e.g., the types or number of desirable and undesirable occurrences that occur) may be generated at step 1110. If the promotional selection algorithm as tested is desirable, changes to the existing promotional selection algorithm are made accordingly at step 144. The existing promotional selection algorithm may be replaced by the test promotional selection algorithm.

Thus, an interactive display having indicators of video-on-demand programs selected according to a promotional selection algorithm is provided. The principles of the present invention may be applied to any suitable system in which any type of information or programming, whether data, audio, video, test or graphic, and whether analog or digital, is provided on demand. For example, the principles of the present invention may be used in an audio-on-demand system. One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow. 

1-24. (canceled)
 25. A method for providing media listings, the method comprising: receiving media listings and data that includes a condition for selecting a subset of the media listings; detecting situational data; determining, using the detected situational data, whether the condition for selecting the subset of the media listings is satisfied; in response to determining that the condition for selecting the subset of the media listings is satisfied, generating the subset of the media listings for display.
 26. The method defined in claim 25 wherein generating the subset of media listings for display comprises generating the subset of media listings for display in a browse display that provides a user with an opportunity to browse through the subset of media listings.
 27. The method of claim 25, wherein the media listings are video-on-demand program listings.
 28. The method defined in claim 25 wherein generating the subset of media listings for display comprises generating the subset of media listings for display in a screening room that provides a user with an opportunity to preview a video-on-demand program associated with the subset of video-on-demand listings.
 29. The method defined in claim 25 wherein the detected situational data comprises a user preference profile.
 30. The method defined in claim 25 further comprising: generating a selection log that includes a list of the selected media listings; generating a first database that includes data defining desirable selections of media listings; generating a second database that includes data defining undesirable selections of media listings; and updating a promotional philosophy based on the selection log, the first database and the second database.
 31. The method defined in claim 25, wherein the data that includes a condition for selecting a subset of the media listings comprises data that identifies the subset of the media listings and data that identifies situational data for selecting the subset of media listings.
 32. The method defined in claim 25, wherein the situation data comprises at least one of a user-selected media listing, a channel line up, weather data, local channels, available promotional media, and a user profile.
 33. The method defined in claim 25, further comprising receiving second data that includes a second condition for selecting a second subset of the media listings.
 34. The method defined in claim 33, further comprising: determining, using the detected situational data, whether the second condition for selecting the second subset of the media listings is satisfied; in response to determining that the second condition for selecting the second subset of the media listings is satisfied, generating the second subset of the media listings for display.
 35. A system for providing media listings, the system comprising: control circuitry configured to: receive media listings and data that includes a condition for selecting a subset of the media listings; detect situational data; determine, using the detected situational data, whether the condition for selecting the subset of the media listings is satisfied; in response to determining that the condition for selecting the subset of the media listings is satisfied, generate the subset of the media listings for display.
 36. The system defined in claim 35 wherein the control circuitry is configured to generate the subset of media listings for display by generating the subset of media listings for display in a browse display that provides a user with an opportunity to browse through the subset of media listings.
 37. The system of claim 35, wherein the media listings are video-on-demand program listings.
 38. The system defined in claim 35 wherein the control circuitry is configured to generate the subset of media listings for display by generating the subset of media listings for display in a screening room that provides a user with an opportunity to preview a video-on-demand program associated with the subset of video-on-demand listings.
 39. The system defined in claim 35 wherein the detected situational data comprises a user preference profile.
 40. The system defined in claim 35 wherein the control circuitry is further configured to: generate a selection log that includes a list of the selected media listings; generate a first database that includes data defining desirable selections of media listings; generate a second database that includes data defining undesirable selections of media listings; and update a promotional philosophy based on the selection log, the first database and the second database.
 41. The system defined in claim 35, wherein the data that includes a condition for selecting a subset of the media listings comprises data that identifies the subset of the media listings and data that identifies situational data for selecting the subset of media listings.
 42. The system defined in claim 35, wherein the situation data comprises at least one of a user-selected media listing, a channel line up, weather data, local channels, available promotional media, and a user profile.
 43. The system defined in claim 35, wherein the control circuitry is further configured to receive second data that includes a second condition for selecting a second subset of the media listings.
 44. The system defined in claim 43, wherein the control circuitry is further configured to: determine, using the detected situational data, whether the second condition for selecting the second subset of the media listings is satisfied; in response to determining that the second condition for selecting the second subset of the media listings is satisfied, generate the second subset of the media listings for display. 